Initial Setup Properties |
||
Common (Voice and Data) |
||
Voice Only |
||
|
||
Runtime Properties |
||
Common (Voice and Data) |
||
|
|
|
Voice Only |
||
|
|
|
Greetings |
||
Common (Voice and Data) |
||
Methods |
||
Common (Voice and Data) |
||
Events |
||
Common (Voice and Data) |
||
Voice Only |
||
Overview
The Dial control is used to:
-
Go offhook and to start a call
-
Transfer an existing call to another extension or phone
-
Dial some digits to an automated system such as a pager service
A built-in call logging facility using a database in conjunction with the DataFind control is also provided.
Call Supervision
If the number to dial is prefixed with the letter S (or s), for example S5551212, call supervision is enabled. The voice card dials the number and monitors the progress of the call until the result is determined. For most common results, the call exits through one of the standard output nodes. Other results (that do not mach any of the predefined conditions) are accommodated by the Other output node in conjunction with the CallResult property.
Dialogic Analog
Positive answer detection on the falling edge (after the end of the salutation prompt) is enabled for Dialogic call progress by default.
Use the V/v character in the dial string to use positive answer detection on the rising edge (immediately when a connect is detected) and to have the call answered immediately after the caller has picked-up the phone. This also disables answering machine detection. For example, dialing SV2718989 will make a supervised call to 2718989 with immediate answer detection on pickup. This is applicable only to supervised dial.
To disable positive voice detection, use the K/k character in the dial string. This will wait for detection of a connect using Cadence Detection or Loop Current Detection. Typically, this will take several seconds before an answer is detected (up to 8 seconds). This also disables answering machine detection. This is applicable only to supervised dial.
Dialogic ISDN
An in-band (analog-style) call progress analysis is applied on the not end-to-end-ISDN calls (i.e. when the call leaves the ISDN network and enters analog equipment to reach the destination). This allows for immediate detection of a busy signal coming from an analog device (like and old PBX), even when the ISDN network does not provide the appropriate messaging.
This function is automatically applied on an outgoing call when the ISDN networks indicates an in-band signalling or announcements available condition.
On ISDN network, Dialogic call supervision offers a detailed information on the result of a Dial operation. Please see the description of the CallResult property for more information.
Fax Tone Detection
If enabled by setting the Detect fax tone option (on the Setup property page), VBVoice checks for the fax tones and, if detected, routes the call out of the Fax tone output node.
Transfer
Note: Please check with support for currently supported transfers.
If the Use Transfer option is set, the Start Transfer digits are dialed before the supplied string. The Start Transfer digits can be set in the VBVFrame PBX Settings page. The Dial control then waits for dial tone if Wait For Dial Tone is enabled.
If dial tone is not detected, the control dials the Reconnect from busy digits and exits through the NoDialTone output. If dial tone is detected or detection is not enabled, the control dials the digits and proceeds depending on the transfer type.
Supervised Transfer
If supervision is enabled, the control uses call progress analysis to wait for a time-out or until a known telephone condition is detected on the line, such as answer, busy, or fast busy.
Answer
The complete transfer digits are dialed if set (usually this string is not required) and the call proceeds with the voice card connected to the new transferee and the original caller on hold. The original caller can be reconnected using the Complete transfer after answer string in a subsequent Dial control. See also Detect Answer Machine below.
Any other result
The original caller is reconnected by dialing the Reconnect from hold... digits and the call continues in the control connected to the output node as defined by the call progress type.
Unsupervised Transfer
If supervision is not enabled, a blind transfer is performed by dialing the Start Transfer digits followed by the number. After dialing, the call is terminated, unless an error occurred.
Note: The transfer functionality is highly dependent on the card being used, switching equipment (e.g. PBX, CO), and the protocol. Pronexus Technical Support can advise you on your specific configuration.
ISDN Transfer
VBVoice supports two types of ISDN transfers:
|
|
The type of the transfer should be set in the Enter event using the TransferType property.
EXAMPLE
Dial1.TransferType(e.channel) = vbvTransferTBCT
This will set VBVoice to make a TBCT transfer.
Both transfers use a second (auxiliary) line in order to perform the transfer. First, a call to the destination number is placed on the auxiliary line and, if answered, the transfer process is initiated. Upon completion of the transfer, both lines are dropped and the Dial Control exits through the Answered node.
If the transfer fails after the second call is answered, the call will exit through the Other node and the second line will be released. If the second call cannot be completed, the call will exit through the appropriate node (e.g. Busy, NoAnswer) and the second line will be released. In order to set the auxiliary line for transfer, use the property SecondTransferChannel.
EXAMPLE
Dial1.SecondTransferChannel(channel) = 20
This will use channel 20 as the auxiliary line to make a call to the destination number.
Announced Transfer
Starting with version 5.3, announced transfer is supported on some cards and protocols.
Announced TBCT transfer
It could be used on ISDN lines which support TBCT transfer or on HMP SIP lines. This transfer type (vbvTransferAnnouncedTBCT or vbvTransferAnnouncedHMP) does transfer two already connected calls, in contrast with the simple (blind) TBCT transfer (vbvTransferTBCT) which is making an outbound call to the party to be transferred to.
How it works: Suppose we have a call on channel 1 and want to transfer it to another party. We keep the call on channel 1 in a delay (music on hold) and on another channel, let's say channel 5, we make a call to the destination for the transfer. If the call is answered we play a prompt, eventually collect digits, etc. Then, to connect the two calls we use a Dial control on channel 5. We use a supervised Dial control with the transfer feature enabled. In the Enter event of the Dial control on channel 5, set TransferType (channel) to vbvTransferAnnouncedTBCT and SecondTransferChannel (channel) to the channel of the first connected call (for our example set to 1). If the call exits through the Answer node the transfer was successful and both calls will be disconnected.
Note: The number to dial must be set to S.
No Transfer
Supervised dial
The line is taken off-hook and the control waits for dial tone before dialing the digits. Once the digits are dialed, the control waits for a recognized call progress condition (e.g. answer, busy) and exits from an output node depending on the call progress result. This mode can be used to start a call. See also Detect Answer Machine below.
If the control is being used to initiate a call, note that it is possible for a call to arrive just as the call control is going off-hook. In this scenario, the call continues through the NoDialTone output.
Unsupervised (blind) dial
The line is taken off hook and the digits are dialed. Once the digits are dialed, the call is ended.
Use this mode if you don't want to collect digits to transfer the call, but rather you need to collect some digits for other reasons. For example, you can send digits to another voice response system or to a pager service. The digits are dialed and the call is transferred to the control connected to the dialed output.
A built-in call logging facility using a database in conjunction with the DataFind control is also provided.
Configuring the Dial String
You can fix the number to dial at design time or it can be changed for each call, either by adding a control name to the dial string using the %% syntax or by using the NumToDial property in the Enter event.
If you use a control name, all call progress outputs are shown in the control, because VBVoice cannot determine at design time whether the dial string starts with the letter S (which indicates that call supervision is required). Call progress supervision only occurs if the S is present in the final string.
The number string can contain hyphens and spaces, which VBVoice ignores. The maximum length of this string is 64 characters.
Dialogic D42 cards
The back slash character \ is replaced by the escape character (0x1b) for use in special dial strings for the Dialogic D42NS and D42SX PBX integration cards. For example, a transfer string would be \K1\k3\kd. Additional integration with D42 cards is provided by the D42 Control.
Dialing MF Digits
Some voice cards support MF dialing. MF digits can be dialed by using the letter M. To reset the dialing mode back to DTMF, use the letter T. Note that a pause, hookflash, or wait for dialtone character will also reset the dialing mode back to DTMF.
EXAMPLE |
The string 1234M5678,01234 will dial 1234 as DTMF, 5678 as MF, pause, and then dial 01234 as DTMF again. |
Not all cards support MF dialing.
Dialing Pulse Digits
Some voice cards support pulse dialing. Use the letter P to force pulse digit dialing. Not all cards support pulse dialing.
Voice over IP (VoIP) Cards
VoIP cards, like Dialogic IP-Link, work only in supervised mode. The valid dial string has to start with letter S, followed by the IP address (e.g. S205.207.240.168). The IP address must be in a numeric representation: names do not work. Because transfer and fax detection functionality is not supported, no options on the Setup property page have an effect.
Detecting Answering Machine
The built-in answering machine detection uses the algorithms embedded in the Dialogic cards.
For more information on answering machine detection, please refer to the TerminateOnSpeech property on the PlayGreeting Control.
Database Options: Call Logging
If the Update Database option is set, the control adds a record in a data�base for the call. The Dial control must be connected to a DataFind control, either directly or through some other controls.
Use the Dial Logs property page to set up a list of fields to be updated. In the DialDB example, a database record containing the dialed number, the call result, and the time of the call is added to the database for every call. The CallResult property contains one of the vbvCallReasonConstants.
This structure enables an application to dial a list of numbers and create a list of call records which can be used to re-scan the database for unsuccessfully dialed numbers.
Call progress (tone) analysis in connected state
Applicable only to card types Intel and IntelHMP.
The Dial control is able to perform call progress analysis (answering machine detection, fax tones, positive voice detection) in connected state. This is useful in the case the call is answered by a PBX which is then calling an extension and provides in-band information. If any digits needed to be dialed before the tone analysis, an unsupervised dial control could be used.
To use this mode, in connected state, a supervised dial with a null string as number to dial should be used (dial S). The control must have either answering machine detection or fax detection enabled. The duration of call progress is determined by the NoAnswer property of the Dial control. The maximum time used for answering machine detection could be customized using DetectAnswerTime INI setting.
If the caller disconnects during the call progress analysis, a Disconnect event is fired and the call is terminated.
Dial out with multiple registration
By default, the Dial control will use the first registration to dial out. In order to use another registration, CallingNumber of desired registration has to be set.
Dial Control Examples
Use of the Dial control is shown in these examples:
You can also access the full demonstration in the Examples subdirectory of the VBVoice install directory.